__ID =0;//跟节点ID
Jes.ext({
	Aclmenu : {
		init : function(){
			if(!Jes.usSess()) return;
			initTabs('tabView_1',Array('菜单管理'),0,'100%',90,Array(false));
			this.query();
		}
		,query : function(){
			DWRUtil.useLoadingMessage("正在读取数据...");
			Jes.rpc('getAclmenuHTML@acl',{lo:0,par:{id:__ID,fn:'Jes.Aclmenu.node'}},function(da){
				Jes.html('menu_tree',da);
				treeObj = new JSDragDropTree();
				//treeObj.setImageFolder('../components/drag-drop-folder-tree/images/');
				treeObj.setTreeId('dhtml_tree');
				treeObj.fn = 'Jes.Aclmenu.node';//页面动态添加的需要
				treeObj.setMaximumDepth(10);
				treeObj.setAddAllowed(true);
				treeObj.setEditAllowed(true);
				treeObj.setDeleteAllowed(true);
				treeObj.setUserFunctionAfterDropDragableNodes(function(id,pId){Jes.Aclmenu.changeNode(id,pId)});
				treeObj.setMessageMaximumDepthReached('超过最多级别'); 
				treeObj.initTree();
				treeObj.expandAll();
			});
		}
		,opTree : function(type,p2id,pName){//新增 编辑 删除
			if(!Jes.usSess()) return;
			switch(type){
				case 'add':
						setTab('0','菜单新增');
						Jes.Aclmenu.html('div_op');
						Jes.vals({'pid':p2id,'pname':pName});//id name
					break;
				case 'edit':
						if(p2id==__ID){Jes.Aclmenu.html('');alert('根节点不能编辑！');return;}
						setTab('0','菜单新增');
						Jes.Aclmenu.html('div_op');
						Jes.queryO('Aclmenu',{par:{id:p2id}});//pid
						Jes.val('pname',pName);
					break;
				case 'del':
						Jes.sql('aclmenu_del_sql@acl',{ids:p2id},function(da){
							Jes.Aclmenu.html('');
							treeObj._deleteTreeNode(p2id);
						});
					break;
			}
		}
		//点击节点
		,node : function(id,name){
			if(id==__ID){Jes.Aclmenu.html('');return;}
			setTab('0','菜单管理');
			Jes.Aclmenu.html('div_op');
			Jes.queryO('Aclmenu',{lo:0,par:{id:id}});//pid
			Jes.val('pname',Jes.tag('A',Jes.node(id,2))[0].innerHTML);
		}
		,changeNode : function(id,pId){
			DWRUtil.useLoadingMessage("正在读取数据...");
			if(confirm("确定要移动此节点吗？")){
				Jes.rpc('changeMenuNode@acl',{lo:0,par:{id:id,pid:pId}},function(){});
			}else{
				JSTreeObj.cancelDropDragableNodes();
			}
		}
		,save : function(){
			var id=Jes.v('id');
			Jes.save('Aclmenu@acl',{},function(da){
				alert('保存成功!');
				if(Jes.isN(id)){
					treeObj._addTreeNode(da.pid,da.id,da.mname);
				}else{
					//不刷新整个树
					treeObj._editTreeNode(da.id,da.mname);
				}
				Jes.Aclmenu.html('');
			});
		}
		,html : function(el){
			if(el){
				Jes.html('div_cont',Jes.html(el));
			}else{
				setTab('0','菜单管理');
				Jes.html('div_cont','');
			}
		}
	}
});
//tree固定方法
opTreeNode=Jes.Aclmenu.opTree;